home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / adasmall / bubble.ada < prev    next >
Text File  |  1996-01-30  |  1KB  |  41 lines

  1. with SMALL_SP; use SMALL_SP;  -- CS159-10 Instructor: Arthur Vargas Lopes
  2.                               -- Fall 1990
  3. procedure BUBBLE is
  4.    procedure BUBBLE_SORT is
  5.     B : STRING(0..25);
  6.     I,J : INTEGER;
  7.     procedure SWAP(X, Y : in INTEGER) is
  8.         temp : character;
  9.     begin
  10.         CURSORAT(6,X+14); PUT("X"); CURSORAT(6,Y+14); PUT("Y");
  11.         temp := b(x);
  12.         b(x) := b(y);
  13.         b(y) := temp;
  14.         CURSORAT(7,X+14); PUT(b(x)); CURSORAT(7,Y+14); PUT(b(y)); CURSORAT(6,X+14);
  15.         PUT(" "); CURSORAT(6,Y+14); PUT(" ");
  16.     end SWAP;
  17.  begin
  18.        B := "ZYXWVUTSRQPONMLKJIHGFEDCBA";
  19.        for k in 0..25 loop
  20.            CURSORAT(7,k+14);
  21.            put(b(k));
  22.        end loop;
  23.        I:= 25;
  24.        while (I > 0) loop                CURSORAT(6,50); PUT("I: "); PUT(I);
  25.          J:= 0;
  26.          while (J < I) loop              CURSORAT(7,50); PUT("J: "); PUT(J);
  27.            if B(J) > B(J+1) then
  28.              SWAP(J,J+1);
  29.            end if;
  30.            J:= J+1;
  31.          end loop;
  32.          I:= I-1;
  33.        end loop;
  34.    end BUBBLE_SORT;
  35. begin
  36.   CURSORAT(7,1); PUT("Bubble:");
  37.   BUBBLE_SORT;
  38. end BUBBLE;
  39.  
  40.  
  41.